#ifndef SPECIALLINKEDLIST_H
#define SPECIALLINKEDLIST_H

#include "LinkedList.h"
#include <iostream>
#include <sstream> //for istream to extract integers from a getline's string
#include <algorithm> //for count(string,int start,int end,char whatToCount)
using namespace std;

class SpecialLinkedList:public LinkedList
{
	public:
		SpecialLinkedList();
		~SpecialLinkedList();
		//note : the way the operators are implemented is bad, see SpecialLinkedList1.cpp & .h for something perfect
		//don't use this .h file, using it beceomes difficult in short
		SpecialLinkedList& operator=(SpecialLinkedList other); //the type for the parameter should be SpecialLinkedList&
		SpecialLinkedList operator+(SpecialLinkedList& other) ; //should use a friend fct with left & right operators
		SpecialLinkedList operator-(SpecialLinkedList& other) ; //should use a friend fct with left & right operators
		bool operator==(SpecialLinkedList& other) ;
		int operator[](int index) ;
		friend ostream& operator<<(ostream&, SpecialLinkedList&); //for cout << SpecialLinkedList_instance
		friend istream& operator>>(istream&, SpecialLinkedList&); //for cin >> SpecialLinkedList_instance, and asks the user to enter integers to fill the list

};
ostream& operator<<(ostream& out, SpecialLinkedList& other);
istream& operator>>(istream& in, SpecialLinkedList& other);


#endif
